草庐IT

<五>function的实现原理

全部标签

JavaScript:一种非常简单的电子签名实现方式

在JS中有没有一种非常简单的方法来制作可以像校验和(或哈希)一样容易处理的电子签名?如果是这种情况:------------------------------------Lockedsectionforclient------------------------------------|YYYY.MM.DD......................||.................................||Blablabla......................||BlablablaBlablabla..Blabla.||BlablablaBlablabla..

javascript - 惰性求值可以通过 monadic 类型实现吗?

我目前正在研究结合Javascript中的monad的惰性求值,以及可能从中演化出哪些用例。所以我尝试实现一个惰性类型,它实现了functor/monad类型类。相应的构造函数在其参数和结果中是惰性的。这是我想出的://alazytype//(()->a)->()->bconstLazy=thunk=>()=>thunk();//(b->a->b)->b->Lazya->bLazy.fold=f=>acc=>tx=>f(acc)(tx());//(a->b)->Lazya->LazybLazy.map=f=>tx=>Lazy(()=>f(tx()));//Lazy(a->b)->Laz

javascript - Function() 构造函数是否没有像 eval 那样被 V8 优化?

我们正在尝试一种通过WebSockets接收网络组件的方法。这些组件包含自定义脚本,它们应该在组件内的上下文中运行。简而言之,我们有一些脚本字符串并想要运行它们。现在我们为此使用eval,像这样:functionctxEval(ctx,__script){eval(__script);//returnthingswiththectx}并按预期工作,但我读到任何包含eval的函数都没有被V8优化。我想像这样将它转换为newFunction():newFunction("ctx",__script)(ctx);这样我可以实现与上面的ctxEval函数相同的效果。我们知道Function是e

javascript - 带有箭头函数的事件处理程序如何实现上下文绑定(bind)

我知道this绑定(bind)的一般理论(函数调用点很重要,隐式绑定(bind),显式绑定(bind)等...)以及解决React中this绑定(bind)问题的方法,所以它总是指向我想要的this是什么(在构造函数中绑定(bind)、箭头函数等),但我正在努力获得内部机制。看看这两段代码:classdemoextendsReact.component{goToStore(event){console.log(this)}render(){this.goToStore(e)}>test}}对比classdemoextendsReact.component{goToStore(event

javascript - "return () => local;"在这个闭包中做了什么?

我正在通过阅读“EloquentJavascript”学习javascript,但对第3章(函数)中的“闭包”部分感到困惑。在前面的部分中,我了解了箭头函数,以及如何将它们用作匿名函数。我最初的想法是,这是一个匿名函数示例,我只是还不熟悉。特别是,我对“()=>local”对返回/返回的作用感到困惑。functionwrapValue(n){letlocal=n;return()=>local;}letwrap1=wrapValue(1);letwrap2=wrapValue(2);console.log(wrap1());//→1console.log(wrap2());//→2这是

javascript - 为什么 array.forEach(() => { array.pop() }) 不会清空数组

在nodejsREPL上,我试图清理一个定义为constarray=[...]的数组,然后发现使用array.forEach(()=>/pop|shift/())将不起作用。在这样的表达式之后,数组中仍会保存值。我很清楚清理数组的更好方法,比如array.splice(0),但我真的很好奇这种行为似乎违反直觉,至少对我而言.这是测试:consta=[1,2,3]a.forEach(()=>{a.shift()})console.log(a)//[3]constb=[1,2,3]b.forEach(()=>{b.pop()})console.log(b)//prints[1]注意事项起初

javascript - 为什么 function.apply() 不能在 IE 中跨文档边界工作?

我在IE中看到一些奇怪的行为,试图通过function.apply()调用另一个页面中的函数。这是一个简单的测试用例:test1.html:varopened=null;functionapplyNone(){opened.testFunc.apply(opened);}functionapplyArgs(){opened.testFunc.apply(opened,["appliedarray"]);}functioncall(){opened.testFunc("calleddirectly");}functionremoteApply(){opened.testApply(["u

javascript - 用 JavaScript 实现的简单、安全的脚本语言?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我想实现一种脚本语言来帮助部分自动化公共(public)wiki上的某些任务。我无法安装任何东西,例如GoogleCaja在服务器上或修改wiki软件本身,但我可以安装用于客户端执行的JavaScript代码。因为我的意图是允许普通用户创建和发布脚本,所以使用JavaScript本身是不安全的,并且可能导致帐户泄露。是否存在这样的脚本语言实现,如果不存在,创建起来是否

javascript - 实现悬停信息框

我有一个日历,当用户将鼠标悬停在一个单元格上时,会出现一个大的信息框,其中包含该日期的详细信息。我在用户离开时让信息框消失时遇到了一些麻烦。我基本上想要它,这样当鼠标光标移出被信息框隐藏的日历单元格时,它就会消失。但是我在这方面遇到了麻烦,因为mouseenter和mouseleave将信息框作为顶部元素搞砸了。所以我尝试通过使用“占位符”div来解决这个问题,这些div是透明的,具有与其下方的日历单元格相同的形状和位置,并且具有1000的z-index,因此它们位于信息框上方。然后,我将mouseenter和mouseleave事件应用于这些div。不过这有两个问题。第一,我现在在语

javascript - 如何将 UI Kit 实现到网站中?

我有一个UI工具包的psd版本,我想在我的网站上将其应用到表单等中。它类似于下面的那个-这是MorganAllanKnutson(@rnorgan)的“Chutzpah”...我会展示我的,但我没有屏幕截图。不过,这将展示相同的概念。图片来自http://designmoo.com/2435/chutzpah-user-interface-kit/,您可以在其中下载他的工具包。我需要使用什么工具来做到这一点?我可以简单地使用CSS来完成,还是需要使用一些客户端脚本?或者,这真的只适用于移动应用程序吗? 最佳答案 本质上,设计部分将在